package com.caius.xiaohashu.note.biz.domain.mapper;

import com.caius.xiaohashu.note.biz.domain.dataobject.NoteDO;

public interface NoteDOMapper {
    int deleteByPrimaryKey(Long id);

    int insert(NoteDO record);

    int insertSelective(NoteDO record);

    NoteDO selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(NoteDO record);

    int updateByPrimaryKey(NoteDO record);


    /**
     * 修改笔记的可见范围
     * @param record
     * @return
     */
    int updateVisibleOnlyMe(NoteDO record);

    /**
     * 更新笔记为置顶
     * @param record
     * @return
     */
    int updateIsTop(NoteDO record);

    /**
     * 查询用户点赞是否存在
     * @param noteId
     * @return
     */
    int selectCountByNoteId(Long noteId);

    /**
     * 查询笔记发布者 ID
     * @param noteId
     * @return
     */
    Long selectCreatorIdByNoteId(Long noteId);
}